home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
MPW Additions
/
Tools
/
MrCpp
/
MrCpp.rsrc
/
CODE_26_32-bit bootstrap.txt
< prev
next >
Wrap
Text File
|
1996-05-07
|
46KB
|
844 lines
# near model CODE resource
# jump table entries: 0-0 (1 of them)
export_0:
00000000 7030 moveq.l D0, 0x30
00000002 A31E syscall NewPtrClear, flags=3
00000004 4A40 tst.w D0
00000006 6672 bne +0x74 /* 0000007A */
00000008 3038 0934 move.w D0, [0x00000934 /* CurJTOffset */]
0000000C 2B88 000C move.l [A5 + D0.w + 0xC], A0
00000010 4A78 028E tst.w [0x0000028E /* ROM85 */]
00000014 6D2E blt +0x30 /* 00000044 */
00000016 303C A89F move.w D0, 0xA89F
0000001A A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
0000001C 2248 movea.l A1, A0
0000001E 303C A090 move.w D0, 0xA090
00000022 A346 syscall GetOSTrapAddress, flags=3
00000024 B3C8 cmpa.l A1, A0
00000026 671C beq +0x1E /* 00000044 */
00000028 9EFC 0010 sub.w A7, 0x10
0000002C 41D7 lea.l A0, [A7]
0000002E 7002 moveq.l D0, 0x02
00000030 A090 syscall SysEnvirons
00000032 0C68 0001 0006 cmpi.w [A0 + 0x6], 0x1
00000038 56C0 sne D0
0000003A 41FA 0052 lea.l A0, [PC + 0x52 /* 0000008E, value 0x83A, cstring "" */]
0000003E 1080 move.b [A0], D0
00000040 4FEF 0010 lea.l A7, [A7 + 0x10]
label00000044:
00000044 6100 01BC bsr +0x1BE /* 00000202 */
00000048 6100 00F4 bsr +0xF6 /* 0000013E */
0000004C 6100 0146 bsr +0x148 /* 00000194 */
00000050 41FA 0024 lea.l A0, [PC + 0x24 /* 00000076, value 0x0, cstring "" */]
00000054 2097 move.l [A0], [A7]
00000056 204D movea.l A0, A5
00000058 D0F8 0934 add.w A0, [0x00000934 /* CurJTOffset */]
0000005C 4EA8 0012 jsr [A0 + 0x12]
00000060 6100 01EC bsr +0x1EE /* 0000024E */
00000064 204D movea.l A0, A5
00000066 D0F8 0934 add.w A0, [0x00000934 /* CurJTOffset */]
0000006A 2068 000C movea.l A0, [A0 + 0xC]
0000006E A01F syscall DisposPtr/DisposePtr
00000070 207A 0004 movea.l A0, [PC + 0x4 /* 00000076, value 0x0, cstring "" */]
00000074 4ED0 jmp [A0]
00000076 0000 0000 ori.b D0, 0x0
label0000007A:
0000007A 4E75 rts
0000007C 800E or.b D0, A6
0000007E 3332 5F62 6974 5F73 move.w -[A1], [[A2 + 0x6974] + 0x5F73]
00000086 7461 moveq.l D2, 0x61
00000088 7274 moveq.l D1, 0x74
0000008A 7570 moveq.l D2, 0x70
0000008C 0000 0000 ori.b D0, 0x0
fn00000090:
00000090 083A 0000 FFFA btst.b [PC - 0x6 /* 0000008C, value 0x0, cstring "" */], 0x0
00000096 671E beq +0x20 /* 000000B6 */
00000098 0C38 0000 012F cmpi.b [0x0000012F /* CPUFlag */], 0x0
0000009E 6716 beq +0x18 /* 000000B6 */
000000A0 303C A198 move.w D0, 0xA198
000000A4 A346 syscall GetOSTrapAddress, flags=3
000000A6 2248 movea.l A1, A0
000000A8 303C A89F move.w D0, 0xA89F
000000AC A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000000AE B3C8 cmpa.l A1, A0
000000B0 6704 beq +0x6 /* 000000B6 */
000000B2 7001 moveq.l D0, 0x01
000000B4 A198 syscall HWPriv, flags=1
label000000B6:
000000B6 4E75 rts
000000B8 800B or.b D0, A3
000000BA 666C bne +0x6E /* 00000128 */
000000BC 7573 moveq.l D2, 0x73
000000BE 685F bvc +0x61 /* 0000011F */
000000C0 6361 bls +0x63 /* 00000123 */
000000C2 6368 bls +0x6A /* 0000012C */
000000C4 6500 0000 bcs +0x2 /* 000000C6 */
// begin alternate branch 000000C6-000000CA
label000000C6:
000000C6 0000 205F ori.b D0, 0x5F /* '_' */
// end alternate branch 000000C6-000000CA
label000000C6: // (misaligned)
000000C8 205F movea.l A0, [A7]+
000000CA 584F addq.w A7, 4
000000CC 4257 clr.w [A7]
000000CE 4ED0 jmp [A0]
000000D0 800B or.b D0, A3
000000D2 7072 moveq.l D0, 0x72
000000D4 655F bcs +0x61 /* 00000135 */
000000D6 4C6F 6164 5365 movem.l D2,D5,D6,A0,A5,A6, [A7 + 0x5365]
000000DC 6700 0000 beq +0x2 /* 000000DE */
// begin alternate branch 000000DE-000000E2
label000000DE:
000000DE 0000 205F ori.b D0, 0x5F /* '_' */
// end alternate branch 000000DE-000000E2
label000000DE: // (misaligned)
000000E0 205F movea.l A0, [A7]+
000000E2 584F addq.w A7, 4
000000E4 4257 clr.w [A7]
000000E6 4ED0 jmp [A0]
000000E8 800C or.b D0, A4
000000EA 706F moveq.l D0, 0x6F
000000EC 7374 moveq.l D1, 0x74
000000EE 5F4C subq.w A4, 7
000000F0 6F61 ble +0x63 /* 00000153 */
000000F2 6453 bcc +0x55 /* 00000147 */
000000F4 6567 bcs +0x69 /* 0000015D */
000000F6 0000 205F ori.b D0, 0x5F /* '_' */
000000FA 584F addq.w A7, 4
000000FC 4257 clr.w [A7]
000000FE 4ED0 jmp [A0]
00000100 800D or.b D0, A5
00000102 7072 moveq.l D0, 0x72
00000104 655F bcs +0x61 /* 00000165 */
00000106 556E 6C6F subq.w [A6 + 0x6C6F], 2
0000010A 6164 bsr +0x66 /* 00000170 */
0000010C 5365 subq.w -[A5], 1
0000010E 6700 0000 beq +0x2 /* 00000110 */
// begin alternate branch 00000110-00000114
label00000110:
00000110 0000 205F ori.b D0, 0x5F /* '_' */
// end alternate branch 00000110-00000114
label00000110: // (misaligned)
00000112 205F movea.l A0, [A7]+
00000114 584F addq.w A7, 4
00000116 4257 clr.w [A7]
00000118 4ED0 jmp [A0]
0000011A 800D or.b D0, A5
0000011C 6572 bcs +0x74 /* 00000190 */
0000011E 726F moveq.l D1, 0x6F
00000120 725F moveq.l D1, 0x5F
00000122 6861 bvc +0x63 /* 00000185 */
00000124 6E64 bgt +0x66 /* 0000018A */
00000126 6C65 bge +0x67 /* 0000018D */
label00000128:
00000128 7200 moveq.l D1, 0x00
0000012A 0000 0001 ori.b D0, 0x1
// begin alternate branch 0000012C-00000130
label0000012C:
0000012C 0001 FF9C ori.b D1, 0x9C
// end alternate branch 0000012C-00000130
label0000012C: // (misaligned)
0000012E FF9C .invalid <<F/6/7>>
00000130 0002 FFB4 ori.b D2, 0xB4
00000134 0003 FFCC ori.b D3, 0xCC
00000138 0004 FFE6 ori.b D4, 0xE6
0000013C 0000 48E7 ori.b D0, 0xE7
// begin alternate branch 0000013E-00000142
fn0000013E:
0000013E 48E7 80E0 movem.l -[A7], D0,A0,A1,A2
// end alternate branch 0000013E-00000142
fn0000013E: // (misaligned)
00000140 80E0 divu.w D0, -[A0]
00000142 224D movea.l A1, A5
00000144 D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
00000148 2269 000C movea.l A1, [A1 + 0xC]
0000014C 45FA FFDE lea.l A2, [PC - 0x22 /* 0000012C, value 0x1FF9C, cstring "" */]
label00000150:
00000150 301A move.w D0, [A2]+
00000152 670A beq +0xC /* 0000015E */
00000154 305A movea.w A0, [A2]+
00000156 41FB 80D4 lea.l A0, [PC + A0.w - 0x44]
0000015A 611A bsr +0x1C /* 00000176 */
0000015C 60F2 bra -0xC /* 00000150 */
label0000015E:
0000015E 4CDF 0701 movem.l D0,A0,A1,A2, [A7]+
00000162 4E75 rts
00000164 800D or.b D0, A5
00000166 7365 moveq.l D1, 0x65
00000168 7475 moveq.l D2, 0x75
0000016A 705F moveq.l D0, 0x5F
0000016C 7665 moveq.l D3, 0x65
0000016E 6374 bls +0x76 /* 000001E4 */
fn00000170:
00000170 6F72 ble +0x74 /* 000001E4 */
00000172 7300 moveq.l D1, 0x00
00000174 0000 D040 ori.b D0, 0x40 /* '@' */
// begin alternate branch 00000176-00000178
fn00000176:
00000176 D040 add.w D0, D0
// end alternate branch 00000176-00000178
fn00000176: // (misaligned)
00000178 D040 add.w D0, D0
0000017A 2F31 0000 move.l -[A7], [A1 + D0.w]
0000017E 2388 0000 move.l [A1 + D0.w], A0
00000182 205F movea.l A0, [A7]+
00000184 4E75 rts
00000186 800A or.b D0, A2
00000188 7365 moveq.l D1, 0x65
label0000018A:
0000018A 745F moveq.l D2, 0x5F
0000018C 7665 moveq.l D3, 0x65
0000018E 6374 bls +0x76 /* 00000204 */
label00000190:
00000190 6F72 ble +0x74 /* 00000204 */
00000192 0000 48E7 ori.b D0, 0xE7
// begin alternate branch 00000194-00000198
fn00000194:
00000194 48E7 80C0 movem.l -[A7], D0,A0,A1
// end alternate branch 00000194-00000198
fn00000194: // (misaligned)
00000196 80C0 divu.w D0, D0
00000198 4240 clr.w D0
0000019A 6100 04D0 bsr +0x4D2 /* 0000066C */
0000019E B0FC 0000 cmpa.w A0, 0x0
000001A2 6602 bne +0x4 /* 000001A6 */
000001A4 A9FF syscall Debugger
label000001A6:
000001A6 598F subq.l A7, 4
000001A8 2F08 move.l -[A7], A0
000001AA A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc
000001AC 205F movea.l A0, [A7]+
000001AE D0F8 0934 add.w A0, [0x00000934 /* CurJTOffset */]
000001B2 90FC 0010 sub.w A0, 0x10
000001B6 43FA 0046 lea.l A1, [PC + 0x46 /* 000001FE, value 0x0, cstring "" */]
000001BA 2288 move.l [A1], A0
000001BC 4CDF 0301 movem.l D0,A0,A1, [A7]+
000001C0 4E75 rts
000001C2 800E or.b D0, A6
000001C4 7365 moveq.l D1, 0x65
000001C6 7475 moveq.l D2, 0x75
000001C8 705F moveq.l D0, 0x5F
000001CA 6A74 bpl +0x76 /* 00000240 */
000001CC 5F6C 696D subq.w [A4 + 0x696D], 7
000001D0 6974 bvs +0x76 /* 00000246 */
000001D2 0000 01F3 ori.b D0, 0xF3
000001D6 00DC .incomplete
000001D8 0000 0000 ori.b D0, 0x0
000001DC 01F2 .incomplete
000001DE 00C4 .incomplete
000001E0 0000 0000 ori.b D0, 0x0
label000001E4:
000001E4 01F0 .incomplete
000001E6 0112 btst [A2], D0
000001E8 0000 0000 ori.b D0, 0x0
000001EC 01F1 .incomplete
000001EE 0372 0000 bchg [A2 + D0.w], D1
000001F2 0000 01F4 ori.b D0, 0xF4
000001F6 00F4 .incomplete
000001F8 0000 0000 ori.b D0, 0x0
000001FC 0000 0000 ori.b D0, 0x0
00000200 0000 303C ori.b D0, 0x3C /* '<' */
// begin alternate branch 00000202-00000206
fn00000202:
00000202 303C A88F move.w D0, 0xA88F
// end alternate branch 00000202-00000206
fn00000202: // (misaligned)
label00000204:
00000204 A88F syscall OSDispatch
00000206 A346 syscall GetOSTrapAddress, flags=3
00000208 2248 movea.l A1, A0
0000020A 303C A89F move.w D0, 0xA89F
0000020E A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000210 B3C8 cmpa.l A1, A0
00000212 6706 beq +0x8 /* 0000021A */
00000214 43FA FFCE lea.l A1, [PC - 0x32 /* 000001E4, value 0x1F00112 */]
00000218 6004 bra +0x6 /* 0000021E */
label0000021A:
0000021A 43FA FFB8 lea.l A1, [PC - 0x48 /* 000001D4, value 0x1F300DC */]
label0000021E:
0000021E 3011 move.w D0, [A1]
00000220 6716 beq +0x18 /* 00000238 */
00000222 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000224 2348 0004 move.l [A1 + 0x4], A0
00000228 3069 0002 movea.w A0, [A1 + 0x2]
0000022C 41FB 80A6 lea.l A0, [PC + A0.w - 0x90]
00000230 3011 move.w D0, [A1]
00000232 A647 syscall SetToolBoxTrapAddress/SetToolTrapAddress, flags=6
00000234 5049 addq.w A1, 8
00000236 60E6 bra -0x18 /* 0000021E */
label00000238:
00000238 4E75 rts
0000023A 800F or.b D0, A7
0000023C 696E bvs +0x70 /* 000002AC */
0000023E 7374 moveq.l D1, 0x74
label00000240:
00000240 616C bsr +0x6E /* 000002AE */
00000242 6C5F bge +0x61 /* 000002A3 */
00000244 7061 moveq.l D0, 0x61
label00000246:
00000246 7463 moveq.l D2, 0x63
00000248 6865 bvc +0x67 /* 000002AF */
0000024A 7300 moveq.l D1, 0x00
0000024C 0000 48E7 ori.b D0, 0xE7
// begin alternate branch 0000024E-00000252
fn0000024E:
0000024E 48E7 00C0 movem.l -[A7], A0,A1
// end alternate branch 0000024E-00000252
fn0000024E: // (misaligned)
00000250 00C0 .incomplete
00000252 303C A88F move.w D0, 0xA88F
00000256 A346 syscall GetOSTrapAddress, flags=3
00000258 2248 movea.l A1, A0
0000025A 303C A89F move.w D0, 0xA89F
0000025E A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000260 B3C8 cmpa.l A1, A0
00000262 6706 beq +0x8 /* 0000026A */
00000264 43FA FF7E lea.l A1, [PC - 0x82 /* 000001E4, value 0x1F00112 */]
00000268 6004 bra +0x6 /* 0000026E */
label0000026A:
0000026A 43FA FF68 lea.l A1, [PC - 0x98 /* 000001D4, value 0x1F300DC */]
label0000026E:
0000026E 3011 move.w D0, [A1]
00000270 670A beq +0xC /* 0000027C */
00000272 2069 0004 movea.l A0, [A1 + 0x4]
00000276 A647 syscall SetToolBoxTrapAddress/SetToolTrapAddress, flags=6
00000278 5049 addq.w A1, 8
0000027A 60F2 bra -0xC /* 0000026E */
label0000027C:
0000027C 4CDF 0300 movem.l A0,A1, [A7]+
00000280 4E75 rts
00000282 8011 or.b D0, [A1]
00000284 756E moveq.l D2, 0x6E
00000286 696E bvs +0x70 /* 000002F6 */
00000288 7374 moveq.l D1, 0x74
0000028A 616C bsr +0x6E /* 000002F8 */
0000028C 6C5F bge +0x61 /* 000002ED */
0000028E 7061 moveq.l D0, 0x61
00000290 7463 moveq.l D2, 0x63
00000292 6865 bvc +0x67 /* 000002F9 */
00000294 7300 moveq.l D1, 0x00
00000296 0000 2F3A ori.b D0, 0x3A /* ':' */
0000029A FF46 .extension 0xF46 <<F/4-5/7>> // unimplemented
0000029C 61B0 bsr -0x4E /* 0000024E */
0000029E 4E75 rts
000002A0 800C or.b D0, A4
000002A2 7061 moveq.l D0, 0x61
000002A4 7463 moveq.l D2, 0x63
000002A6 685F bvc +0x61 /* 00000307 */
000002A8 4C61 756E movem.l D1,D2,D3,D5,D7,A1,A2,A4,A5,A6, -[A1]
label000002AC:
000002AC 6368 bls +0x6A /* 00000316 */
fn000002AE:
000002AE 0000 2F3A ori.b D0, 0x3A /* ':' */
000002B2 FF26 .extension 0xF26 <<F/4-5/7>> // unimplemented
000002B4 6198 bsr -0x66 /* 0000024E */
000002B6 4E75 rts
000002B8 800B or.b D0, A3
000002BA 7061 moveq.l D0, 0x61
000002BC 7463 moveq.l D2, 0x63
000002BE 685F bvc +0x61 /* 0000031F */
000002C0 4368 6169 chk.w D1, [A0 + 0x6169]
000002C4 6E00 0000 bgt +0x2 /* 000002C6 */
// begin alternate branch 000002C6-000002CC
label000002C6:
000002C6 0000 2F3A ori.b D0, 0x3A /* ':' */
000002CA FF2E .extension 0xF2E <<F/4-5/7>> // unimplemented
// end alternate branch 000002C6-000002CC
label000002C6: // (misaligned)
000002C8 2F3A FF2E move.l -[A7], [PC - 0xD2 /* 000001F8, value 0x0, cstring "" */]
000002CC 6180 bsr -0x7E /* 0000024E */
000002CE 4E75 rts
000002D0 8011 or.b D0, [A1]
000002D2 7061 moveq.l D0, 0x61
000002D4 7463 moveq.l D2, 0x63
000002D6 685F bvc +0x61 /* 00000337 */
000002D8 4578 6974 chk.w D2, [0x00006974]
000002DC 546F 5368 addq.w [A7 + 0x5368], 2
000002E0 656C bcs +0x6E /* 0000034E */
000002E2 6C00 0000 bge +0x2 /* 000002E4 */
// begin alternate branch 000002E4-000002EC
label000002E4:
000002E4 0000 48E7 ori.b D0, 0xE7
000002E8 F0C0 204D .extension 0x0C0 <<F/2-3/0>> // unimplemented
// end alternate branch 000002E4-000002EC
label000002E4: // (misaligned)
000002E6 48E7 F0C0 movem.l -[A7], D0,D1,D2,D3,A0,A1
000002EA 204D movea.l A0, A5
000002EC D0F8 0934 add.w A0, [0x00000934 /* CurJTOffset */]
000002F0 0C68 FFFF 000A cmpi.w [A0 + 0xA], 0xFFFF
label000002F6:
000002F6 6600 014E bne +0x150 /* 00000446 */
// begin alternate branch 000002F8-000002FA
fn000002F8:
000002F8 014E bchg A6, D0
// end alternate branch 000002F8-000002FA
fn000002F8: // (misaligned)
000002FA 7600 moveq.l D3, 0x00
000002FC 226F 0018 movea.l A1, [A7 + 0x18]
00000300 B3CD cmpa.l A1, A5
00000302 6D0C blt +0xE /* 00000310 */
00000304 41FA FEF8 lea.l A0, [PC - 0x108 /* 000001FE, value 0x0, cstring "" */]
00000308 2050 movea.l A0, [A0]
0000030A D1CD add.l A0, A5
0000030C B3C8 cmpa.l A1, A0
0000030E 6F02 ble +0x4 /* 00000312 */
label00000310:
00000310 7601 moveq.l D3, 0x01
label00000312:
00000312 4A03 tst.b D3
00000314 660E bne +0x10 /* 00000324 */
label00000316:
00000316 303C 0001 move.w D0, 0x1
0000031A 41EF 0018 lea.l A0, [A7 + 0x18]
0000031E 6100 0142 bsr +0x144 /* 00000462 */
00000322 6014 bra +0x16 /* 00000338 */
label00000324:
00000324 302F 001C move.w D0, [A7 + 0x1C]
00000328 6100 036E bsr +0x370 /* 00000698 */
0000032C 2250 movea.l A1, [A0]
0000032E 0C51 FFFF cmpi.w [A1], 0xFFFF
00000332 6600 0112 bne +0x114 /* 00000446 */
00000336 6016 bra +0x18 /* 0000034E */
label00000338:
00000338 226F 0018 movea.l A1, [A7 + 0x18]
0000033C 3029 FFFC move.w D0, [A1 - 0x4]
00000340 6100 0356 bsr +0x358 /* 00000698 */
00000344 2250 movea.l A1, [A0]
00000346 0C51 FFFF cmpi.w [A1], 0xFFFF
0000034A 6600 00EE bne +0xF0 /* 0000043A */
label0000034E:
0000034E A069 syscall HGetState
00000350 0800 0007 btst.b D0, 0x7
00000354 6608 bne +0xA /* 0000035E */
00000356 4A38 0BB2 tst.b [0x00000BB2 /* SegHiEnable */]
0000035A 6702 beq +0x4 /* 0000035E */
0000035C A064 syscall MoveHHi
label0000035E:
0000035E A029 syscall HLock
00000360 2010 move.l D0, [A0]
00000362 A055 syscall StripAddress
00000364 2040 movea.l A0, D0
00000366 224D movea.l A1, A5
00000368 D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
0000036C 2228 0008 move.l D1, [A0 + 0x8]
00000370 671E beq +0x20 /* 00000390 */
00000372 D3E8 0004 add.l A1, [A0 + 0x4]
00000376 0C69 4EF9 0002 cmpi.w [A1 + 0x2], 0x4EF9
0000037C 6700 0094 beq +0x96 /* 00000412 */
label00000380:
00000380 D1A9 0004 add.l [A1 + 0x4], D0
00000384 337C 4EF9 0002 move.w [A1 + 0x2], 0x4EF9
0000038A 5049 addq.w A1, 8
0000038C 5381 subq.l D1, 1
0000038E 66F0 bne -0xE /* 00000380 */
label00000390:
00000390 224D movea.l A1, A5
00000392 D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
00000396 2228 0010 move.l D1, [A0 + 0x10]
0000039A 671C beq +0x1E /* 000003B8 */
0000039C D3E8 000C add.l A1, [A0 + 0xC]
000003A0 0C69 4EF9 0002 cmpi.w [A1 + 0x2], 0x4EF9
000003A6 676A beq +0x6C /* 00000412 */
label000003A8:
000003A8 D1A9 0004 add.l [A1 + 0x4], D0
000003AC 337C 4EF9 0002 move.w [A1 + 0x2], 0x4EF9
000003B2 5049 addq.w A1, 8
000003B4 5381 subq.l D1, 1
000003B6 66F0 bne -0xE /* 000003A8 */
label000003B8:
000003B8 220D move.l D1, A5
000003BA 92A8 0018 sub.l D1, [A0 + 0x18]
000003BE 6718 beq +0x1A /* 000003D8 */
000003C0 4AA8 0014 tst.l [A0 + 0x14]
000003C4 6712 beq +0x14 /* 000003D8 */
000003C6 214D 0018 move.l [A0 + 0x18], A5
000003CA 2F08 move.l -[A7], A0
000003CC 2248 movea.l A1, A0
000003CE D1E8 0014 add.l A0, [A0 + 0x14]
000003D2 6100 034E bsr +0x350 /* 00000722 */
000003D6 205F movea.l A0, [A7]+
label000003D8:
000003D8 2208 move.l D1, A0
000003DA 92A8 0020 sub.l D1, [A0 + 0x20]
000003DE 6724 beq +0x26 /* 00000404 */
000003E0 4AA8 0020 tst.l [A0 + 0x20]
000003E4 6606 bne +0x8 /* 000003EC */
000003E6 0681 0000 0028 addi.l D1, 0x28 /* '(' */
label000003EC:
000003EC 4AA8 001C tst.l [A0 + 0x1C]
000003F0 6712 beq +0x14 /* 00000404 */
000003F2 2148 0020 move.l [A0 + 0x20], A0
000003F6 2F08 move.l -[A7], A0
000003F8 2248 movea.l A1, A0
000003FA D1E8 001C add.l A0, [A0 + 0x1C]
000003FE 6100 0322 bsr +0x324 /* 00000722 */
00000402 205F movea.l A0, [A7]+
label00000404:
00000404 4A03 tst.b D3
00000406 660A bne +0xC /* 00000412 */
00000408 303C 0002 move.w D0, 0x2
0000040C 41EF 0018 lea.l A0, [A7 + 0x18]
00000410 6150 bsr +0x52 /* 00000462 */
label00000412:
00000412 4EBA FC7C jsr [PC - 0x384 /* 00000090 */]
00000416 4A03 tst.b D3
00000418 6710 beq +0x12 /* 0000042A */
0000041A 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
0000041E 5D97 subq.l [A7], 6
00000420 2F57 0002 move.l [A7 + 0x2], [A7]
00000424 4FEF 0002 lea.l A7, [A7 + 0x2]
00000428 6006 bra +0x8 /* 00000430 */
label0000042A:
0000042A 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
0000042E 5597 subq.l [A7], 2
label00000430:
00000430 4A38 012D tst.b [0x0000012D /* LoadTrap */]
00000434 6702 beq +0x4 /* 00000438 */
00000436 A9FF syscall Debugger
label00000438:
00000438 4E75 rts
label0000043A:
0000043A 303C 0002 move.w D0, 0x2
0000043E 204F movea.l A0, A7
00000440 41E8 0018 lea.l A0, [A0 + 0x18]
00000444 611C bsr +0x1E /* 00000462 */
label00000446:
00000446 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
0000044A 2F3A FD9C move.l -[A7], [PC - 0x264 /* 000001E8, value 0x0, cstring "" */]
0000044E 4E75 rts
00000450 800D or.b D0, A5
00000452 7061 moveq.l D0, 0x61
00000454 7463 moveq.l D2, 0x63
00000456 685F bvc +0x61 /* 000004B7 */
00000458 4C6F 6164 5365 movem.l D2,D5,D6,A0,A5,A6, [A7 + 0x5365]
0000045E 6700 0000 beq +0x2 /* 00000460 */
// begin alternate branch 00000460-00000478
label00000460:
00000460 0000 48E7 ori.b D0, 0xE7
fn00000462: // (misaligned)
00000464 F0C0 4CEF .extension 0x0C0 <<F/2-3/0>> // unimplemented
00000468 030F btst A7, D1
0000046A 001C 9EFC ori.b [A4]+, 0xFC
0000046E 0058 48EF ori.w [A0]+, 0x48EF
00000472 7FFF moveq.l D7, 0xFFFFFFFF
00000474 000A 224F ori.b A2, 0x4F /* 'O' */
// end alternate branch 00000460-00000478
label00000460: // (misaligned)
fn00000462:
00000462 48E7 F0C0 movem.l -[A7], D0,D1,D2,D3,A0,A1
00000466 4CEF 030F 001C movem.l D0,D1,D2,D3,A0,A1, [A7 + 0x1C]
0000046C 9EFC 0058 sub.w A7, 0x58 /* 'X' */
00000470 48EF 7FFF 000A movem.l [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
00000476 224F movea.l A1, A7
00000478 41EF 0068 lea.l A0, [A7 + 0x68]
0000047C 2050 movea.l A0, [A0]
0000047E 4240 clr.w D0
00000480 6160 bsr +0x62 /* 000004E2 */
00000482 43E9 0058 lea.l A1, [A1 + 0x58]
00000486 2011 move.l D0, [A1]
00000488 6128 bsr +0x2A /* 000004B2 */
0000048A 554F subq.w A7, 2
0000048C 486F 0002 pea.l [A7 + 0x2]
00000490 4E90 jsr [A0]
00000492 4FEF 005A lea.l A7, [A7 + 0x5A]
00000496 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
0000049A 4E75 rts
0000049C 8011 or.b D0, [A1]
0000049E 6361 bls +0x63 /* 00000501 */
000004A0 6C6C bge +0x6E /* 0000050E */
000004A2 5F75 7365 subq.w <<invalid full ext with IS == 1 and I/IS == 5>>, 7
000004A6 725F moveq.l D1, 0x5F
000004A8 6861 bvc +0x63 /* 0000050B */
000004AA 6E64 bgt +0x66 /* 00000510 */
000004AC 6C65 bge +0x67 /* 00000513 */
000004AE 7200 moveq.l D1, 0x00
000004B0 0000 2F09 ori.b D0, 0x9 /* '\t' */
// begin alternate branch 000004B2-000004B4
fn000004B2:
000004B2 2F09 move.l -[A7], A1
// end alternate branch 000004B2-000004B4
fn000004B2: // (misaligned)
000004B4 224D movea.l A1, A5
000004B6 D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
000004BA 2269 000C movea.l A1, [A1 + 0xC]
000004BE D040 add.w D0, D0
000004C0 D040 add.w D0, D0
000004C2 41F1 0000 lea.l A0, [A1 + D0.w]
000004C6 2050 movea.l A0, [A0]
000004C8 225F movea.l A1, [A7]+
000004CA 4E75 rts
000004CC 8012 or.b D0, [A2]
000004CE 7365 moveq.l D1, 0x65
000004D0 745F moveq.l D2, 0x5F
000004D2 7665 moveq.l D3, 0x65
000004D4 6374 bls +0x76 /* 0000054A */
000004D6 6F72 ble +0x74 /* 0000054A */
000004D8 5F61 subq.w -[A1], 7
000004DA 6464 bcc +0x66 /* 00000540 */
000004DC 7265 moveq.l D1, 0x65
000004DE 7373 moveq.l D1, 0x73
000004E0 0000 48E7 ori.b D0, 0xE7
// begin alternate branch 000004E2-000004E6
fn000004E2:
000004E2 48E7 8080 movem.l -[A7], D0,A0
// end alternate branch 000004E2-000004E6
fn000004E2: // (misaligned)
000004E4 8080 or.l D0, D0
000004E6 32BC FFFF move.w [A1], 0xFFFF
000004EA 42A9 0054 clr.l [A1 + 0x54]
000004EE 3340 0052 move.w [A1 + 0x52], D0
000004F2 2348 0002 move.l [A1 + 0x2], A0
000004F6 58A9 0002 addq.l [A1 + 0x2], 4
000004FA 2050 movea.l A0, [A0]
000004FC 5548 subq.w A0, 2
000004FE 2348 0006 move.l [A1 + 0x6], A0
00000502 3368 FFFE 0046 move.w [A1 + 0x46], [A0 - 0x2]
00000508 237C 434F 4445 0048 move.l [A1 + 0x48], 0x434F4445 /* 'CODE' */
// begin alternate branch 0000050E-00000514
label0000050E:
0000050E 0048 3028 ori.w A0, 0x3028 /* '0(' */
label00000510: // (misaligned)
00000512 FFFE .invalid <<F/7/7>>
// end alternate branch 0000050E-00000514
label0000050E: // (misaligned)
label00000510:
00000510 3028 FFFE move.w D0, [A0 - 0x2]
00000514 6100 0156 bsr +0x158 /* 0000066C */
00000518 4269 0050 clr.w [A1 + 0x50]
0000051C 4A90 tst.l [A0]
0000051E 6706 beq +0x8 /* 00000526 */
00000520 137C 00FF 0050 move.b [A1 + 0x50], 0xFF
label00000526:
00000526 598F subq.l A7, 4
00000528 2F08 move.l -[A7], A0
0000052A A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc
0000052C 235F 004C move.l [A1 + 0x4C], [A7]+
00000530 4CDF 0101 movem.l D0,A0, [A7]+
00000534 4E75 rts
00000536 800B or.b D0, A3
00000538 6669 bne +0x6B /* 000005A3 */
0000053A 6C6C bge +0x6E /* 000005A8 */
0000053C 5F73 7472 subq.w [A3 + D7.w * 4 + 0x72], 7
label00000540:
00000540 7563 moveq.l D2, 0x63
00000542 7400 moveq.l D2, 0x00
00000544 0000 48E7 ori.b D0, 0xE7
00000548 E0C0 asr .w D0
label0000054A:
0000054A 206F 0018 movea.l A0, [A7 + 0x18]
0000054E 0C50 4EF9 cmpi.w [A0], 0x4EF9
00000552 6600 00FA bne +0xFC /* 0000064E */
00000556 224D movea.l A1, A5
00000558 D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
0000055C 0C69 FFFF 000A cmpi.w [A1 + 0xA], 0xFFFF
00000562 6600 00EA bne +0xEC /* 0000064E */
00000566 3028 FFFE move.w D0, [A0 - 0x2]
0000056A 6100 0100 bsr +0x102 /* 0000066C */
0000056E 2F08 move.l -[A7], A0
00000570 2050 movea.l A0, [A0]
00000572 0C50 FFFF cmpi.w [A0], 0xFFFF
00000576 205F movea.l A0, [A7]+
00000578 6600 00D4 bne +0xD6 /* 0000064E */
0000057C 48E7 00C0 movem.l -[A7], A0,A1
00000580 4CEF 0307 0008 movem.l D0,D1,D2,A0,A1, [A7 + 0x8]
00000586 9EFC 0058 sub.w A7, 0x58 /* 'X' */
0000058A 48EF 7FFF 000A movem.l [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
00000590 3EBC FFFF move.w [A7], 0xFFFF
00000594 42AF 0054 clr.l [A7 + 0x54]
00000598 426F 0052 clr.w [A7 + 0x52]
0000059C 204F movea.l A0, A7
0000059E 41E8 0058 lea.l A0, [A0 + 0x58]
000005A2 2250 movea.l A1, [A0]
000005A4 41E8 001C lea.l A0, [A0 + 0x1C]
label000005A8:
000005A8 2F48 0002 move.l [A7 + 0x2], A0
000005AC 2068 0004 movea.l A0, [A0 + 0x4]
000005B0 2F48 0006 move.l [A7 + 0x6], A0
000005B4 3F68 FFFE 0046 move.w [A7 + 0x46], [A0 - 0x2]
000005BA 2F7C 434F 4445 0048 move.l [A7 + 0x48], 0x434F4445 /* 'CODE' */
000005C2 426F 0050 clr.w [A7 + 0x50]
000005C6 4A91 tst.l [A1]
000005C8 6706 beq +0x8 /* 000005D0 */
000005CA 1F7C 00FF 0050 move.b [A7 + 0x50], 0xFF
label000005D0:
000005D0 598F subq.l A7, 4
000005D2 2F09 move.l -[A7], A1
000005D4 A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc
000005D6 2F5F 004C move.l [A7 + 0x4C], [A7]+
000005DA 303C 0003 move.w D0, 0x3
000005DE 6100 FED2 bsr -0x12C /* 000004B2 */
000005E2 554F subq.w A7, 2
000005E4 486F 0002 pea.l [A7 + 0x2]
000005E8 4E90 jsr [A0]
000005EA 544F addq.w A7, 2
000005EC DEFC 0058 add.w A7, 0x58 /* 'X' */
000005F0 4CDF 0300 movem.l A0,A1, [A7]+
000005F4 A02A syscall HUnlock
000005F6 2010 move.l D0, [A0]
000005F8 A055 syscall StripAddress
000005FA 2040 movea.l A0, D0
000005FC 2228 0008 move.l D1, [A0 + 0x8]
00000600 6716 beq +0x18 /* 00000618 */
00000602 D3E8 0004 add.l A1, [A0 + 0x4]
00000606 2008 move.l D0, A0
label00000608:
00000608 91A9 0004 sub.l [A1 + 0x4], D0
0000060C 337C A9F0 0002 move.w [A1 + 0x2], 0xA9F0
00000612 5049 addq.w A1, 8
00000614 5381 subq.l D1, 1
00000616 66F0 bne -0xE /* 00000608 */
label00000618:
00000618 224D movea.l A1, A5
0000061A D2F8 0934 add.w A1, [0x00000934 /* CurJTOffset */]
0000061E 2228 0010 move.l D1, [A0 + 0x10]
00000622 6718 beq +0x1A /* 0000063C */
00000624 D3E8 000C add.l A1, [A0 + 0xC]
00000628 2008 move.l D0, A0
label0000062A:
0000062A 91A9 0004 sub.l [A1 + 0x4], D0
0000062E 337C A9F0 0002 move.w [A1 + 0x2], 0xA9F0
00000634 5049 addq.w A1, 8
00000636 5381 subq.l D1, 1
00000638 66F0 bne -0xE /* 0000062A */
0000063A 6006 bra +0x8 /* 00000642 */
label0000063C:
0000063C 2228 0008 move.l D1, [A0 + 0x8]
00000640 670C beq +0xE /* 0000064E */
label00000642:
00000642 6100 FA4C bsr -0x5B2 /* 00000090 */
00000646 4CDF 0307 movem.l D0,D1,D2,A0,A1, [A7]+
0000064A 2E9F move.l [A7], [A7]+
0000064C 4E75 rts
label0000064E:
0000064E 4CDF 0307 movem.l D0,D1,D2,A0,A1, [A7]+
00000652 2F3A FB9C move.l -[A7], [PC - 0x464 /* 000001F0, value 0x0, cstring "" */]
00000656 4E75 rts
00000658 800F or.b D0, A7
0000065A 7061 moveq.l D0, 0x61
0000065C 7463 moveq.l D2, 0x63
0000065E 685F bvc +0x61 /* 000006BF */
00000660 556E 6C6F subq.w [A6 + 0x6C6F], 2
00000664 6164 bsr +0x66 /* 000006CA */
00000666 5365 subq.w -[A5], 1
00000668 6700 0000 beq +0x2 /* 0000066A */
// begin alternate branch 0000066A-00000672
label0000066A:
0000066A 0000 51F8 ori.b D0, 0xF8
fn0000066C: // (misaligned)
0000066E 0A5E 594F xori.w [A6]+, 0x594F /* 'YO' */
// end alternate branch 0000066A-00000672
label0000066A: // (misaligned)
fn0000066C:
0000066C 51F8 0A5E sf [0x00000A5E /* ResLoad */]
00000670 594F subq.w A7, 4
00000672 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */
00000678 3F00 move.w -[A7], D0
0000067A A9A0 syscall GetResource
0000067C 3038 0A60 move.w D0, [0x00000A60 /* ResErr */]
00000680 205F movea.l A0, [A7]+
00000682 50F8 0A5E st [0x00000A5E /* ResLoad */]
00000686 4E75 rts
00000688 800B or.b D0, A3
0000068A 6765 beq +0x67 /* 000006F1 */
0000068C 745F moveq.l D2, 0x5F
0000068E 7265 moveq.l D1, 0x65
00000690 735F moveq.l D1, 0x5F
00000692 6864 bvc +0x66 /* 000006F8 */
00000694 6C00 0000 bge +0x2 /* 00000696 */
// begin alternate branch 00000696-0000069E
label00000696:
00000696 0000 50F8 ori.b D0, 0xF8
fn00000698: // (misaligned)
0000069A 0A5E 594F xori.w [A6]+, 0x594F /* 'YO' */
// end alternate branch 00000696-0000069E
label00000696: // (misaligned)
fn00000698:
00000698 50F8 0A5E st [0x00000A5E /* ResLoad */]
0000069C 594F subq.w A7, 4
0000069E 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */
000006A4 3F00 move.w -[A7], D0
000006A6 A9A0 syscall GetResource
000006A8 205F movea.l A0, [A7]+
000006AA 4A78 0A60 tst.w [0x00000A60 /* ResErr */]
000006AE 6762 beq +0x64 /* 00000712 */
000006B0 4CEF 030F 0004 movem.l D0,D1,D2,D3,A0,A1, [A7 + 0x4]
000006B6 9EFC 0058 sub.w A7, 0x58 /* 'X' */
000006BA 48EF 7FFF 000A movem.l [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
000006C0 224F movea.l A1, A7
000006C2 3038 0A60 move.w D0, [0x00000A60 /* ResErr */]
000006C6 41EF 0074 lea.l A0, [A7 + 0x74]
fn000006CA:
000006CA 6100 FE16 bsr -0x1E8 /* 000004E2 */
000006CE 303C 0004 move.w D0, 0x4
000006D2 6100 FDDE bsr -0x220 /* 000004B2 */
000006D6 554F subq.w A7, 2
000006D8 486F 0002 pea.l [A7 + 0x2]
000006DC 4E90 jsr [A0]
000006DE 301F move.w D0, [A7]+
000006E0 0C40 0001 cmpi.w D0, 0x1
000006E4 6610 bne +0x12 /* 000006F6 */
000006E6 2F6F 0006 0074 move.l [A7 + 0x74], [A7 + 0x6]
000006EC 4FEF 005C lea.l A7, [A7 + 0x5C]
000006F0 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
000006F4 601C bra +0x1E /* 00000712 */
label000006F6:
000006F6 0C40 0002 cmpi.w D0, 0x2
// begin alternate branch 000006F8-000006FC
label000006F8:
000006F8 0002 660C ori.b D2, 0xC
// end alternate branch 000006F8-000006FC
label000006F8: // (misaligned)
000006FA 660C bne +0xE /* 00000708 */
000006FC 4FEF 005C lea.l A7, [A7 + 0x5C]
00000700 4CDF 030F movem.l D0,D1,D2,D3,A0,A1, [A7]+
00000704 584F addq.w A7, 4
00000706 600A bra +0xC /* 00000712 */
label00000708:
00000708 6100 FB44 bsr -0x4BA /* 0000024E */
0000070C 700F moveq.l D0, 0x0F
0000070E A9C9 syscall SysError
00000710 A9FF syscall Debugger
label00000712:
00000712 4E75 rts
00000714 8009 or.b D0, A1
00000716 6C6F bge +0x71 /* 00000787 */
00000718 6164 bsr +0x66 /* 0000077E */
0000071A 5F63 subq.w -[A3], 7
0000071C 6F64 ble +0x66 /* 00000782 */
0000071E 6500 0000 bcs +0x2 /* 00000720 */
// begin alternate branch 00000720-00000724
label00000720:
00000720 0000 7000 ori.b D0, 0x0
// end alternate branch 00000720-00000724
label00000720: // (misaligned)
fn00000722:
00000722 7000 moveq.l D0, 0x00
00000724 1018 move.b D0, [A0]+
00000726 670A beq +0xC /* 00000732 */
00000728 6A12 bpl +0x14 /* 0000073C */
0000072A 0880 0007 bclr.b D0, 0x7
0000072E 6114 bsr +0x16 /* 00000744 */
00000730 600A bra +0xC /* 0000073C */
label00000732:
00000732 6110 bsr +0x12 /* 00000744 */
00000734 6712 beq +0x14 /* 00000748 */
00000736 610C bsr +0xE /* 00000744 */
00000738 610A bsr +0xC /* 00000744 */
0000073A 6108 bsr +0xA /* 00000744 */
label0000073C:
0000073C D080 add.l D0, D0
0000073E D3C0 add.l A1, D0
00000740 D391 add.l [A1], D1
00000742 60DE bra -0x20 /* 00000722 */
fn00000744:
00000744 E188 lsl D0, 8
00000746 1018 move.b D0, [A0]+
label00000748:
00000748 4E75 rts
0000074A 8008 or.b D0, A0
0000074C 5265 addq.w -[A5], 1
0000074E 6C6F bge +0x71 /* 000007BF */
00000750 6361 bls +0x63 /* 000007B3 */
00000752 7465 moveq.l D2, 0x65
00000754 0000 .incomplete